iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0
Security

白帽駭客工具實作-Python篇系列 第 4

白帽駭客工具實作04 - [基礎知識] Python直譯器原理、Metasploit 框架架構概說

  • 分享至 

  • xImage
  •  

Python直譯器基本原理

  • 解析 (Parsing):直譯器首先會讀取和解析(Lexical Analysis 和 Syntax Analysis)Python 源碼,將其轉換成抽象語法樹(Abstract Syntax Tree, AST)。這個過程包括將源程式碼拆分成記號(tokens),並檢查語法是否正確。

  • 編譯 (Compilation):AST 會被編譯成 Python 的中間表示形式——字節碼(Bytecode)。這些字節碼是一種低階、中間形式,可以高效執行。Python 使用 .pyc 文件來儲存編譯後的字節碼,以提高後續執行的速度。

  • 執行 (Execution):Python 的虛擬機器(Python Virtual Machine, PVM)會解釋並執行字節碼。PVM 是一個基於stack、heap的執行引擎,負責解釋字節碼指令並執行對應的操作。


Python直譯器詳細說明

項次 功能 描述 說明
1 詞法分析 (Lexical Analysis) 將源程式碼轉換為一系列記號(tokens) 使用詞法分析器將程式碼中的基本語言構建塊(如關鍵字、標識符、運算符和分隔符)識別出來
2 語法分析 (Syntax Analysis) 將記號序列轉換為抽象語法樹(AST) 使用語法分析器將記號序列結構化表示,展示語法結構而非語法細節
3 語義分析 (Semantic Analysis) 檢查語法正確但語義可能不正確的程式碼 確保變量在使用前被定義,函數的參數類型匹配等
4 中間表示 (Intermediate Representation) 將程式碼轉換為Python字節碼 字節碼是一種中間表示形式,類似於低階指令,可以在 Python 虛擬機器上高效執行
5 優化 (Optimization) 提高程式碼執行效率 包括常量折疊、程式碼消除、迭代展開等優化技術
6 執行 (Execution) 執行 Python 字節碼 由 Python 虛擬機器(PVM)解釋和執行字節碼指令
7 模塊和導入 (Modules and Imports) 組織程式碼並共享功能 模塊系統允許將程式碼組織成模塊,導入機制負責定位、加載和初始化模塊

Metasploit 框架架構

在講述自行開發工具之前,首先介紹著名的開源滲透測試框架,由Rapid7公司開發和維護。Metasploit提供了豐富的工具和模組,使資訊安全人員能夠進行漏洞利用、滲透測試和安全評估。藉由這個工具再去延伸思考,自行開發白帽駭客工具的屬性跟功能實現。

  • Metasploit基礎架構

metasploit

  • Metasploit模組功能
項次 模組類型 描述 常見用途
1 Exploit 利用特定漏洞執行遠程或本地程式碼 系統入侵、權限提升
2 Payload 在成功利用漏洞後執行的程式碼,用於建立控制或執行特定任務 建立反向連接、執行系統命令、資料偷取
3 Auxiliary 提供輔助功能,如掃描、嗅探、檢測和服務攻擊 網絡掃描、服務識別、拒絕服務攻擊、密碼破解
4 Post 執行後滲透活動,如系統數據收集和保持持久訪問 收集敏感信息、修改系統設置、安裝後門
5 NOP 生成NOP Sled以在利用期間保持正確的payload執行 使用NOP指(No Operation)填充緩衝區,以確保payload可以準確地進入執行位置,避免錯位或失敗。這些 NOP 指令讓 CPU 可以順利地跳過它們,直到到達有效載荷的開始
6 Encoder 編碼payload以逃避檢測 使payload更難被防毒軟體檢測或攔截

參考資料

Metasploit官方網站

Python官方網站


若各位讀者於本篇有習得新知或技術的話,請訂閱、按讚、分享及開啟小鈴鐺,成為支持筆者寫下去的動力。/images/emoticon/emoticon41.gif


上一篇
白帽駭客工具實作03 - [基礎知識]Python版本演進、特點、撰寫風格及基礎語法
下一篇
白帽駭客工具實作05 - [基礎知識]網路基礎、常見通訊埠及滲透測試方向
系列文
白帽駭客工具實作-Python篇7
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言